package cn.darkhorse.workorder.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import io.swagger.annotations.*;
import java.util.Date;
import java.util.List;

import com.ruoyi.common.annotation.Excel;

import javax.validation.constraints.Size;


/**
 * 样品平衡对象 qms_workorder_sample_balance
 *
 * @author ytq
 * @date 2024-07-19
 */
@TableName("qms_workorder_record")
@Data
@ApiModel(value = "QmsWorkorderSampleBalance", description = "样品平衡对象")
public class QmsWorkorderSampleBalance
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ApiModelProperty(" 主键")
    private Long id;

    /** 流转单编号 */
    @ApiModelProperty(" 流转单编号")
    @Excel(name = "流转单编号")
    private String orderNumber;

    @TableField(value = "id")
    @ApiModelProperty(" 流转工单id")
    private Long workorderId;

    /** 样品架号 */
    @ApiModelProperty(" 样品架号")
    @Excel(name = "样品架号")
    private String carSum;

    /** 情况及处理意见 */
    @ApiModelProperty(" 情况及处理意见")
    @Excel(name = "情况及处理意见")
    @Size(max = 20, message ="限制1-20个字符")
    @TableField(value = "opinion_balance")
    private String opinion;

    /** 处理时间 */
    @ApiModelProperty(" 处理时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField(value = "over_time_balance")
    private Date overTime;

    /** 预调湿时间(H) */
    @ApiModelProperty(" 预调湿时间(H)")
    @Excel(name = "预调湿时间(H)")
    private Integer preconditionHours;

    /** 样品平衡开始时间 */
    @ApiModelProperty(" 样品平衡开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "样品平衡开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    @TableField(value = "start_time_balance")
    private Date startTime;

    /** 样品平衡结束时间 */
    @ApiModelProperty(" 样品平衡结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "样品平衡结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    @TableField(value = "end_time_balance")
    private Date endTime;

    /** 样品平衡管理员签名 */
    @ApiModelProperty(" 样品平衡管理员签名")
    @Excel(name = "样品平衡管理员签名")
    @TableField(value = "balance_administrator_sign_balance")
    private String sampleBalanceAdministratorSign;

    /** 感官检验员签名 */
    @ApiModelProperty(" 感官检验员签名")
    @Excel(name = "感官检验员签名")
    @TableField(value = "sense_inspector_sign_balance")
    private String senseInspectorSign;

    /** 交接时间 */
    @ApiModelProperty(" 交接时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "交接时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    @TableField(value = "delivery_time_balance")
    private Date deliveryTime;

    /** 交接时抽测回潮率-测试时间 */
    @ApiModelProperty(" 交接时抽测回潮率-测试时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "交接时抽测回潮率-测试时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    @TableField(exist = false)
    private Date deliveryTestTime;

    /** 交接时抽测回潮率-测试人员 */
    @ApiModelProperty(" 交接时抽测回潮率-测试人员")
    @Excel(name = "交接时抽测回潮率-测试人员")
    private String deliveryTester;

    /** 交接时抽测回潮率-审核人员 */
    @ApiModelProperty(" 交接时抽测回潮率-审核人员")
    @Excel(name = "交接时抽测回潮率-审核人员")
    private String deliveryAuditor;

    /** 交接时抽测回潮率-测试人员签名 */
    @ApiModelProperty(" 交接时抽测回潮率-测试人员签名")
    @Excel(name = "交接时抽测回潮率-测试人员签名")
    private String deliveryTesterSign;

    /** 交接时抽测回潮率- 审核人员签名 */
    @ApiModelProperty(" 交接时抽测回潮率- 审核人员签名")
    @Excel(name = "交接时抽测回潮率- 审核人员签名")

    private String deliveryAuditorSign;

    /** 交接时抽测回潮率- 测试记录JSON */
    @ApiModelProperty(" 交接时抽测回潮率- 测试记录JSON")
    @Excel(name = "交接时抽测回潮率- 测试记录JSON")
    @TableField(exist = false)
    private String deliveryTestRecord;
    @TableField(exist = false)
    private List<QmsWorkorderSampleBalanceRecord> deliveryTestRecords;
    @ApiModelProperty(" 交接时抽测回潮率-测试仪编号")
    @Excel(name = "交接时抽测回潮率-测试仪编号")
    @TableField(exist = false)
    private String deliveryTesterCode;

    @ApiModelProperty(" 交接时抽测回潮率- 测试仪型号")
    @Excel(name = "交接时抽测回潮率- 测试仪型号")
    @TableField(exist = false)
    private String deliveryTesterModel;

    /** 交接时抽测回潮率- 备注 */
    @ApiModelProperty(" 交接时抽测回潮率- 备注")
    @Excel(name = "交接时抽测回潮率- 备注")
    @TableField(exist = false)
    private String deliveryRemark;

    /** 平衡前抽测回潮率-测试时间 */
    @ApiModelProperty(" 平衡前抽测回潮率-测试时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "平衡前抽测回潮率-测试时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    @TableField(exist = false)
    private Date beforeTestTime;

    /** 平衡前抽测回潮率-测试人员签名 */
    @ApiModelProperty(" 平衡前抽测回潮率-测试人员签名")
    @Excel(name = "平衡前抽测回潮率-测试人员签名")

    private String beforeTesterSign;

    /** 平衡前抽测回潮率- 审核人员签名 */
    @ApiModelProperty(" 平衡前抽测回潮率- 审核人员签名")
    @Excel(name = "平衡前抽测回潮率- 审核人员签名")
    private String beforeAuditorSign;

    /** 平衡前抽测回潮率-测试人员 */
    @ApiModelProperty(" 平衡前抽测回潮率-测试人员")
    @Excel(name = "平衡前抽测回潮率-测试人员")
    private String beforeTester;

    /** 平衡前抽测回潮率-审核人员 */
    @ApiModelProperty(" 平衡前抽测回潮率-审核人员")
    @Excel(name = "平衡前抽测回潮率-审核人员")
    private String beforeAuditor;

    /** 平衡前抽测回潮率- 测试记录JSON */
    @ApiModelProperty(" 平衡前抽测回潮率- 测试记录JSON")
    @Excel(name = "平衡前抽测回潮率- 测试记录JSON")
    @TableField(exist = false)
    private String beforeTestRecord;
    @TableField(exist = false)
    private List<QmsWorkorderSampleBalanceRecord> beforeTestRecords;
    @ApiModelProperty(" 平衡前抽测回潮率-测试仪编号")
    @Excel(name = "平衡前抽测回潮率-测试仪编号")
    @TableField(exist = false)
    private String beforeTesterCode;
    @ApiModelProperty(" 平衡前抽测回潮率- 测试仪型号")
    @Excel(name = "平衡前抽测回潮率- 测试仪型号")
    @TableField(exist = false)
    private String beforeTesterModel;

    /** 平衡前抽测回潮率- 备注 */
    @ApiModelProperty(" 平衡前抽测回潮率- 备注")
    @Excel(name = "平衡前抽测回潮率- 备注")
    @TableField(exist = false)
    private String beforeRemark;

    /** 平衡后抽测回潮率-测试时间 */
    @ApiModelProperty(" 平衡后抽测回潮率-测试时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "平衡后抽测回潮率-测试时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    @TableField(exist = false)
    private Date afterTestTime;

    /** 平衡后抽测回潮率-测试人员签名 */
    @ApiModelProperty(" 平衡后抽测回潮率-测试人员签名")
    @Excel(name = "平衡后抽测回潮率-测试人员签名")
    private String afterTesterSign;

    /** 平衡后抽测回潮率- 审核人员签名 */
    @ApiModelProperty(" 平衡后抽测回潮率- 审核人员签名")
    @Excel(name = "平衡后抽测回潮率- 审核人员签名")
    private String afterAuditorSign;


    /** 平衡后抽测回潮率-测试人员 */
    @ApiModelProperty(" 平衡后抽测回潮率-测试人员")
    @Excel(name = "平衡后抽测回潮率-测试人员")
    private String afterTester;

    /** 平衡后抽测回潮率-审核人员 */
    @ApiModelProperty(" 平衡后抽测回潮率-审核人员")
    @Excel(name = "平衡后抽测回潮率-审核人员")
    private String afterAuditor;

    /** 平衡后抽测回潮率- 测试记录JSON */
    @ApiModelProperty(" 平衡后抽测回潮率- 测试记录JSON")
    @Excel(name = "平衡后抽测回潮率- 测试记录JSON")
    @TableField(exist = false)
    private String afterTestRecord;
    @TableField(exist = false)
    private List<QmsWorkorderSampleBalanceRecord> afterTestRecords;

    @ApiModelProperty(" 平衡后抽测回潮率-测试仪编号")
    @Excel(name = "平衡后抽测回潮率-测试仪编号")
    @TableField(exist = false)
    private String afterTesterCode;
    @ApiModelProperty(" 平衡后抽测回潮率- 测试仪型号")
    @Excel(name = "平衡后抽测回潮率- 测试仪型号")
    @TableField(exist = false)
    private String afterTesterModel;

    /** 平衡后抽测回潮率- 备注 */
    @ApiModelProperty(" 平衡后抽测回潮率- 备注")
    @Excel(name = "平衡后抽测回潮率- 备注")
    @TableField(exist = false)
    private String afterRemark;

    /** 创建时间 */
    @ApiModelProperty(" 创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 创建人 */
    @ApiModelProperty(" 创建人")
    private String createBy;

    /** 创建人id */
    @ApiModelProperty(" 创建人id")
    @Excel(name = "创建人id")
    private Long createById;

    @TableField(exist = false)
    private int type;

    @TableField(exist = false)
    private int canEditBefore;
    @TableField(exist = false)
    private int canEditAfter;
    @TableField(exist = false)
    private int canAuditBefore;
    @TableField(exist = false)
    private int canAuditAfter;


}
